﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Net.Mail; 

/// <summary>
/// Summary description for Utilities
/// </summary>
public class Utilities
{
	public Utilities()
	{
		//
		// TODO: Add constructor logic here
		//
	}
    public static void LienHe(string name, string email, string dienthoai, string thongdiep)
    {
        string dateTime = DateTime.Now.ToLongDateString() + ", at " + DateTime.Now.ToShortTimeString();
        string noidunglienhe = dateTime + "\n";
        noidunglienhe += "Gửi từ: " + name + "\n";
        noidunglienhe += "Email: " + email + "\n";
        noidunglienhe += "Điện thoại: " + dienthoai + "\n\n";

        noidunglienhe += "Nội dung thông điệp: \n";
        noidunglienhe += thongdiep + "\n\n HẾT";

        string from = KFCConfiguration.MailFrom;
        string to = "pptoan23@gmail.com";
        string subject = "[KFC] Liên hệ.";
        String body = noidunglienhe;
        SendMail(from, to, subject, noidunglienhe);

    }
    public static void ThongBaoDangKyThanhCong(string name, string email)
    {
        // get the current date and time 
        string dateTime = DateTime.Now.ToLongDateString() + ", at "
                      + DateTime.Now.ToShortTimeString();
        // stores the error message 
        string noidungthongbao = "Xin chào " + name + "!";
        // obtain the page that generated the error 
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        noidungthongbao += "\n\n Chúc mừng bạn đã tham gia hệ thống cửa hàng thức ăn nhanh KFC của chúng tôi.";
        noidungthongbao += "\n Ngay bây giờ bạn có thể đặt hàng trên Website của chúng tôi.";
        // build the error message 
        noidungthongbao += "Xin hân hạnh phục vụ quý khách!";
        noidungthongbao += "\n\n KFC Việt Nam.";
        // send error email in case the option is activated in Web.Config 

        string from = KFCConfiguration.MailFrom;
        string to = email;
        string subject = "KFC Đăng ký thành công!";
        string body = noidungthongbao;
        SendMail(from, to, subject, body);

    }

    public static void LayLaiMatKhau(string name, string pass, string email)
    {
        // get the current date and time 
        string dateTime = DateTime.Now.ToLongDateString() + ", at "
                      + DateTime.Now.ToShortTimeString();
        // stores the error message 
        string noidungthongbao = "Xin chào " + name + "!";
        // obtain the page that generated the error 
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        noidungthongbao += "\n\n Chúc mừng bạn đã lấy lại mật khẩu thành công.";
        noidungthongbao += "\n\n Mật khẩu mới của bạn là: " + pass;
        noidungthongbao += "\n Mời bạn tiếp tục tham gia với hệ thống KFC chúng tôi.";
        // build the error message 
        noidungthongbao += "Xin hân hạnh phục vụ quý khách!";
        noidungthongbao += "\n\n KFC Việt Nam.";
        // send error email in case the option is activated in Web.Config 

        string from = KFCConfiguration.MailFrom;
        string to = email;
        string subject = "KFC Cấp mật khẩu mới!";
        string body = noidungthongbao;
        SendMail(from, to, subject, body);

    }
     public static void SendMail(string from, string to, string subject,string body) 
    { 
        System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage(from, to, subject, body); 
 
        MyMailMessage.IsBodyHtml = false; 
 
        //Proper Authentication Details need to be passed when sending email from gmail 
        System.Net.NetworkCredential mailAuthentication = new
        System.Net.NetworkCredential(KFCConfiguration.MailUsername, KFCConfiguration.MailPassword); 
 
 
        
 
        //Smtp Mail server of Gmail is "smpt.gmail.com" and it uses port no. 587 
        //For different server like yahoo this details changes and you can 
        //get it from respective server. 
        System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("smtp.gmail.com",587); // vi du gmail 
 
        //Enable SSL 
        mailClient.EnableSsl = true; 
          mailClient.UseDefaultCredentials = false; 
 
        mailClient.Credentials = mailAuthentication; 
 
        mailClient.Send(MyMailMessage); 
 
    }

    public static void LogError(Exception ex)
    {
        // get the current date and time 
        string dateTime = DateTime.Now.ToLongDateString() + ", at "
                      + DateTime.Now.ToShortTimeString();
        // stores the error message 
        string errorMessage = "Exception generated on " + dateTime;
        // obtain the page that generated the error 
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        errorMessage += "\n\n Page location: " + context.Request.RawUrl;
        // build the error message 
        errorMessage += "\n\n Message: " + ex.Message;
        errorMessage += "\n\n Source: " + ex.Source;
        errorMessage += "\n\n Method: " + ex.TargetSite;
        errorMessage += "\n\n Stack Trace: \n\n" + ex.StackTrace;
        // send error email in case the option is activated in Web.Config 
        if (KFCConfiguration.EnableErrorLogEmail)
        {
            string from = KFCConfiguration.MailFrom;
            string to = KFCConfiguration.ErrorLogEmail;
            string subject = "KFC store Error Report";
            string body = errorMessage;
            SendMail(from, to, subject, body);
        }
    }
}
